草庐IT

java - 同步的、易变的和线程安全的

全部标签

javascript - Marketo Munchkin 同步请求会损害 JS 性能

最近我注意到我网站的javascript代码中存在一些性能问题。经过一些分析后,我发现问题出在我用来跟踪事件的MarketoMunchking代码上。看起来他们最近更改了他们的JS代码,以便在每次调用Munchkin.munchkinFunction时发送同步http请求。相关代码片段是:a=newXMLHttpRequest;a.open("GET",b,!1);...a.send();我已经向Marketo提交了工单,但在他们修复代码之前,我正在寻找解决方法。我想到了一些:有没有办法Hook他们的js代码以强制XMLHttpRequest异步?直接引用旧版本的脚本是安全的,例如//

javascript - Microsoft Edge 不接受内容安全策略的哈希

问题Content-Security-Policy应该默认将脚本和样式解析列入黑名单,并允许它基于各种指令来验证预期输出的哈希值。浏览器必须无法实现任何未预先提供匹配哈希的Javascript或CSS。具有匹配散列的代码应正常执行。MicrosoftEdge拒绝所有JS/CSS页内block。说明在MicrosoftEdge和任何其他浏览器中访问下面的实时演示链接。现场演示:http://output.jsbin.com/biqidoqebu演示原始源码#loading{color:transparent}#loading:after{color:green;content:"Styl

javascript - 在javascript中加入多个回调/线程?

我正在寻找Thread.Join()类型的东西。假设我在javascript中触发了4个事件。我想执行代码,但只有在所有4个回调都完成之后。我怎么做?我能想到的唯一方法是检查4个回调是否正在通过全局变量进行处理,在这种情况下我忽略或抛出异常。但否则在每个回调中执行类似globalVar++的操作,并在每个回调结束时调用IsItDone()以检查globalVar是否==4。但是..我有点不喜欢它,尤其是因为我需要使用全局变量。 最佳答案 您可以自己建立一个队列并包装回调,但这有点麻烦。幸运的是,有大量的图书馆可以提供帮助。我不喜欢计

javascript - 调用同步xmlhttprequest时IE挂5分钟

我有一个网络应用程序并使用ajax回调我的网络服务器以获取数据。有时(在相当不可预测的时刻,但它可以重现)IE完全挂起5分钟(窗口显示“无响应”)然后返回并且xmlhttprequest对象响应错误12002。我可以重现它的方式如下。使用按钮从主窗口(A)打开窗口(B)当单击按钮打开窗口B时,窗口A调用同步ajax(PROC1)。PROC1运行文件。新窗口(B)有ajax代码(PROC2)并异步调用服务器。运行良好用户在PROC2完成但数据返回之前关闭窗口B。在主窗口(a)中,用户再次点击按钮。PROC1再次运行,但现在send()调用阻塞了5分钟。请帮忙。我已经找了3天了。请注意:*

javascript - 为什么仅调用同步函数时 javascript promises 是异步的?

在测试中,我发现JavaScriptPromises总是是异步的,无论它们的链中是否包含任何异步函数。这里是一些代码,显示了控制台中的操作顺序。如果你运行它,你会看到即使每个函数都是同步的,输出显示两个aPromise()调用是并行运行的,并且“令人惊讶的是,这是在运行2完成后发生的”不在运行2完成之前发生。functionaPromise(){returnnewPromise(function(resolve,reject){console.log("makingpromiseA")resolve(bPromise());console.log("promiseAresolved")

java - JSP 页面应该如何检查身份验证

我是网络编程新手。我要求一种通用模式来执行诸如检查身份验证之类的操作。这是场景:该网站有一个访问者登录页面。它将获取用户名和加密密码并将它们发送到服务器,然后从服务器获取错误代码(用户名/密码不匹配)或授权key。当用户登录成功后,我想让网站自动跳转到呈现网站主要功能的main.jsp页面。在这种情况下,我希望main.jsp检查用户身份验证。也就是说,我不希望用户可以直接打开www.example.com/main.jsp这样的事情发生,如果他们这样做了,我想将他们重定向到登录页面。那么如何跨页面传递认证信息,如何防止用户在未登录的情况下直接访问main.jsp呢?我需要使用sess

javascript - 为什么流行的 JavaScript 运行时不能处理看起来同步的异步脚本?

作为cowboysaysdowninthecommentshere,我们都想“以类似这样的风格编写[非阻塞JavaScript]异步代码:try{varfoo=getSomething();//asynccallthatwouldnormallyblockvarbar=doSomething(foo);console.log(bar);}catch(error){console.error(error);}”所以人们想出了解决这个问题的办法,比如回调库(例如async)promiseseventpatternsstreamlinedomains和generators.但是这些都不会导致

javascript - 为什么 Java 8 Nashorn (JavaScript) 模返回 0.0( double )而不是 0(整数)?

考虑以下代码示例:importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;publicclassTester{publicstaticvoidmain(String[]args)throwsException{ScriptEnginese=newScriptEngineManager().getEngineByName("nashorn");Objecteval=se.eval("5%5");System.out.println("eval="+eval);System.out.println("ev

javascript - 浏览器同步(在 gulp 下)不刷新浏览器

我的配置做了它应该做的一切,但它从不刷新浏览器。一旦我手动刷新它,就会有变化。我正在连接到默认的localhost:3000。任何想法为什么会这样或如何调试它?gulpfile.js:vargulp=require('gulp');varsass=require('gulp-sass');varsourcemaps=require('gulp-sourcemaps');varbrowserSync=require('browser-sync');gulp.task('html',function(){browserSync.reload();});gulp.task('sass',fu

javascript - 除了浏览器本身之外,如何使用 JavaScript 或 Java 清除浏览器(IE、Firefox、Opera、Chrome)历史记录?

除了从浏览器本身清除之外,如何使用JavaScript或Java清除浏览器(IE、Firefox、Opera、Chrome)历史记录? 最佳答案 脚本通常无法访问浏览器中的document.location数据,因为允许访问将使任何给定站点能够访问您的整个浏览历史记录。最多你可以做一些简单的操作,比如“转到历史条目#37”或“返回一页”。但是您不能执行“历史条目#23中页面的地址是什么”。大多数银行网站将使用javascript链接来防止建立点击历史记录。他们会执行document.location.replace”来杀死最后一个历